<?php  
namespace LANGUAGE_EXCHANGE;
/*
 * 基于scws的中文分词
 */
abstract class Word_segmentation{
    /*
     * @var text 需要分词的对象 
     */
    protected $text;
    /*
     * @var array return_text 最终返回的内容
     */
    protected $return_text;
    /*
     * @var string 中文的编码
     */
    protected $char = 'utf8';
    public function __construct() {
    }
    /*
     * 处理分词
     */
    abstract public function exec($text = false);
    /*
     * 设置需要分词的中文
     */
    public function set_text($text)
    {
        $this->text = $text;
    }
    
    /*
     * 返回的结果
     */
    public function get_return()
    {
        return $this->return_text;
    }
    /*
     * 设置中文的编码
     */
    public function set_char($char)
    {
        $this->char = $char;
    }
    /*
    * escape编码
    */
   function escape($str){
        $reString = '';
        preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr);
        $ar = $newstr[0];
        foreach($ar as $k=>$v){
           if(ord($ar[$k])>=127){
            $tmpString=bin2hex(iconv("GBK","ucs-2//IGNORE",$v));
            if (!eregi("WIN",PHP_OS)){
             $tmpString = substr($tmpString,2,2).substr($tmpString,0,2);
            }
            $reString.="%u".$tmpString;
           }else{
            $reString.= rawurlencode($v);
           }
        }
        return $reString;
    }
}